#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

//void rotate(int* nums, int numsSize, int k) {
//
//    int i = 0;
//    int tem = 0;
//    while (k--)
//    {
//        tem = nums[numsSize - 1];
//        for (i = numsSize - 2; i >= 0; i--)
//        {
//            nums[i + 1] = nums[i];
//        }
//        nums[0] = tem;
//    }
//}
//
//int main()
//{
//    int arr[] = { 1,2,3,4,5,6,7 };
//    int ret = sizeof(arr) / sizeof(arr[0]);
//    int k = 3;
//    rotate(arr, ret, k);
//    for (int i = 0; i < ret; i++)
//    {
//        printf("%d,", arr[i]);
//    }
//    return 0;
//}
//void reverse(int* arr, int num)
//{
//    int left = 0;
//    int right = num - 1;
//    while (left < right)
//    {
//        int tem = arr[left];
//        arr[left] = arr[right];
//        arr[right] = tem;
//        left++;
//        right--;
//    }
//}
//void rotate(int* nums, int numsSize, int k) {
//
//    k %= numsSize;
//    reverse(nums, numsSize);
//    reverse(nums, k);
//    reverse(nums + k, numsSize - k);
//}
//int main()
//{
//    int arr[] = { 1,2,3,4,5,6,7 };
//    int ret = sizeof(arr) / sizeof(arr[0]);
//    int k = 3;
//    rotate(arr, ret, k);
//    for (int i = 0; i < ret; i++)
//    {
//        printf("%d,", arr[i]);
//    }
//    return 0;
//}
// int missingNumber(int* nums, int numsSize){
//          int ret=numsSize*(numsSize+1)/2;
//          for(int i=0;i<numsSize;i++)
//          {
//              ret-=nums[i];
//          }
//          return ret;
// }

int missingNumber(int* nums, int numsSize) {
    int ret = 0;
    for (int i = 0; i <= numsSize; i++)
    {
        ret ^= i;
    }
    for (int i = 0; i < numsSize; i++)
    {
        ret ^= nums[i];
    }
    return ret;
}